//
//  OMTMemoryCache.h
//  Pods
//
//  Created by yizhaorong on 11/05/2017.
//
//

#import <UIKit/UIKit.h>

FOUNDATION_EXPORT NSString *const OMTMemoryCacheCurrentBundlePath;

@interface OMTMemoryCache : NSObject

/**
 将图片缓存在内存中
 
 @param image 要缓存的图片
 @param key 图片key
 */
+ (void)storeImage:(UIImage *)image key:(NSString *)key;

/**
 查询缓存中的图片
 
 @param key 图片key
 @return 图片或nil
 */
+ (UIImage *)imageForKey:(NSString *)key;

/**
 通过Key缓存数据到内存中
 
 @param object 要缓存的数据
 @param key 数据key
 */
+ (void)storeObject:(id)object key:(NSString *)key;

/**
 通过Key获取缓存中的数据
 
 @param key key
 @return 内存中的数据或nil
 */
+ (id)objectForKey:(NSString *)key;


/**
 存在内存的 dictionary 中不会被自动移除

 @param value 值
 @param key 键
 */
+ (void)setMemoryValue:(id)value key:(NSString *)key;


/**
 获取存在内存中的值

 @param key 键
 */
+ (id)memoryValueForKey:(NSString *)key;


/**
 清空缓存
 */
+ (void)clearCache;


/**
 清空内存值
 */
+ (void)clearMemoryValue;


/**
 清空所有
 */
+ (void)clearAll;

@end
